package com.zsrt.java.day20161227.wrl.demo01;

import java.util.Arrays;

import org.junit.Test;

/**
 * 当定义数组是
 * 数组的空间是连续的，动态初始化
 * 定义出来的ages 保存在栈内存。new 保存在堆内存
 * 
 * @author Administrator
 *
 */
public class ArrayDemo01 {
	
	
	/**
	 * 高级for循环：foreach
	 * 优点：简化开发
	 * 缺点：无法取得数组下标
	 * 
	 * for(变量类型   变量名称 : 数组){
	 * }
	 */
	@Test
	public void demo04(){
		int[] ages = new int[3];
		
		//使用下标给元素赋值
		ages[0] = 23;
		ages[1] = 18;
		ages[2] = 16;
		
		System.out.println("一般循环...");
		for(int index = 0;index<=ages.length-1;index++){
			System.out.println(ages[index]);
		}
		
		//foreach
		System.out.println("高级循环...");
		for(int value : ages){
			System.out.println(value);
		}
	}
	
	@Test
	public void demo03(){
		int[] ages = new int[3];
		
		//使用下标给元素赋值
		ages[0] = 23;
		ages[1] = 18;
		ages[2] = 16;
		
		//覆盖
		ages[1] = 19;
		
		System.out.println(ages[1]);
		int len = ages.length;
		for(int index = 0;index<=len-1;index++){
			System.out.println(ages[index]);
		}
//		System.out.println(len);
	}
	
	/**
	 * 显式；
	 * 动态初始化
	 */
	@Test
	public void demo02(){
		int[] ages = new int[3];
		
		//使用下标给元素赋值
		ages[0] = 23;
		ages[1] = 18;
		ages[2] = 16;
		System.out.println(ages[0]);
		int len = ages.length;
		System.out.println(len);
	}
	
	/**
	 * 静态初始化
	 */
	@Test
	public void demo01(){
		int[] ages  = new int[]{23,18,16};
		int[] score = {23,18,16};
		System.out.println(ages[0]);
		
		//Arrays.toString(score)：打印输入函数
		System.out.println(Arrays.toString(score));
	}
	
}
